


package cn.fl.project.transform;

import java.util.ArrayList;
import java.util.List;

import cn.fl.project.dto.PrjPrdInvoiceDTO;
import cn.fl.project.vo.PrjPrdInvoiceVO;
import cn.cmm.base.framework.utils.CollectionUtils;
import cn.cmm.base.framework.utils.DecimalUtils;

 /**
 * @Description: 机动车发票 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class PrjPrdInvoiceVOTransform {


	/**
	 * DTO 转  VO
	 * @param dto PrjPrdInvoiceDTO
	 * @return PrjPrdInvoiceVO
	 */
	public static PrjPrdInvoiceVO toVO(PrjPrdInvoiceDTO dto) {
		PrjPrdInvoiceVO  vo = null;
		if (dto != null) { 
			vo = new PrjPrdInvoiceVO();
			vo.setId(dto.getId());
			vo.setPaySchNo(dto.getPaySchNo());//支付表号 
			vo.setPrjId(dto.getPrjId());//项目ID
			vo.setPaySchId(dto.getPaySchId());//支付表ID
			vo.setInvoicenum(dto.getInvoicenum());//发票号码
			vo.setInvoicecode(dto.getInvoicecode());//发票代码
			vo.setInvoicedate(dto.getInvoicedate());//开票日期
			vo.setPurchaser(dto.getPurchaser());//购方名称
			vo.setPayercode(dto.getPayercode());//购方税号
			vo.setVehType(dto.getVehType());//车辆类型
			vo.setManumode(dto.getManumode());//厂牌型号
			vo.setProducer(dto.getProducer());//产地
			vo.setCertificateNo(dto.getCertificateNo());//合格证号
			vo.setImportCert(dto.getImportCert());//进口证明书
			vo.setInspectNo(dto.getInspectNo());//商检单号
			vo.setEnginenum(dto.getEnginenum());//发动机号
			vo.setVinnum(dto.getVinnum());//车驾号/VIN码
			vo.setPricetax(dto.getPricetax());//合计金额（税价合计）
			vo.setSaler(dto.getSaler());//销方名称（销货单位名称）
			vo.setSalesPhone(dto.getSalesPhone());//销方电话
			vo.setTaxpayer(dto.getTaxpayer());//销方税号
			vo.setSalesAccount(dto.getSalesAccount());//销方开户账号
			vo.setSalesBank(dto.getSalesBank());//销方开户银行
			vo.setSalesAddr(dto.getSalesAddr());//销方地址
			vo.setSalesAddrPhone(dto.getSalesAddrPhone());//销方地址/电话
			vo.setTaxrate(dto.getTaxrate());//税率
			vo.setTax(dto.getTax());//税额
			vo.setTaxOffice(dto.getTaxOffice());//主管税务机关名称
			vo.setTaxOfficeCode(dto.getTaxOfficeCode());//主管税务机关代码
			vo.setNoTax(dto.getNoTax());//不含税单价
			vo.setPayTaxCode(dto.getPayTaxCode());//完税凭证号码
			vo.setTonnage(dto.getTonnage());//吨位
			vo.setMaxPassenger(dto.getMaxPassenger());//限乘人数
			vo.setIssued(dto.getIssued());//开票人
			vo.setMachinecode(dto.getMachinecode());//机器编号
			vo.setInvoiceType(dto.getInvoiceType());//发票类型 数据字典(PRJ0130)
			vo.setCheckCode(dto.getCheckCode());//发票校验码后6位
			vo.setUntax(dto.getUntax());// 发票未税金额
			vo.setInvoiceTotal(dto.getInvoiceTotal());//发票车价合计 
			vo.setFlag(dto.getFlag());//主票与补票标示 1主票 2补票
			vo.setAudStsCd(dto.getAudStsCd());//审核状态
			vo.setpInstId(dto.getpInstId());//流程实例ID
			vo.setpNo(dto.getpNo());//流程编号
			vo.setIsDel(dto.getIsDel());//是否删除
			
			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
			//list分页列表需要
			vo.setPrjId(dto.getPrjId());
			vo.setLsCntNo(dto.getLsCntNo());
			vo.setPrjTypCd(dto.getPrjTypCd());
			vo.setBizTypCd(dto.getBizTypCd());
			vo.setCstNm(dto.getCstNm());
			vo.setPrdNm(dto.getPrdNm());
			vo.setAudStsCdNm(dto.getAudStsCdNm());
			vo.setPrjTypCdNm(dto.getPrjTypCdNm());
			vo.setBizTypCdNm(dto.getBizTypCdNm());
			vo.setFlagNm(dto.getFlagNm());
			vo.setDtlId(dto.getDtlId());
			//信审list分页需要
			vo.setPurchaserck(dto.getPurchaserck());//购方名称校验
			vo.setEnginenumck(dto.getEnginenumck());//发动机号校验
			vo.setVinnumck(dto.getVinnumck());//VIN码校验
			vo.setFileId(dto.getFileId());//上传发票照片文件id
			vo.setTotLsItmAmt(dto.getTotLsItmAmt());//设备金额

		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param vo PrjPrdInvoiceVO
	 * @return PrjPrdInvoiceDTO
	 */
	public static PrjPrdInvoiceDTO toDTO(PrjPrdInvoiceVO vo) {
		PrjPrdInvoiceDTO dto = null;
		if (vo != null) {
			dto = new PrjPrdInvoiceDTO();
			dto.setId(vo.getId());
			dto.setPaySchNo(vo.getPaySchNo());//支付表号 
			dto.setPrjId(vo.getPrjId());//项目ID
			dto.setPaySchId(vo.getPaySchId());//支付表ID
			dto.setInvoicenum(vo.getInvoicenum());//发票号码
			dto.setInvoicecode(vo.getInvoicecode());//发票代码
			dto.setInvoicedate(vo.getInvoicedate());//开票日期
			dto.setPurchaser(vo.getPurchaser());//购方名称
			dto.setPayercode(vo.getPayercode());//购方税号
			dto.setVehType(vo.getVehType());//车辆类型
			dto.setManumode(vo.getManumode());//厂牌型号
			dto.setProducer(vo.getProducer());//产地
			dto.setCertificateNo(vo.getCertificateNo());//合格证号
			dto.setImportCert(vo.getImportCert());//进口证明书
			dto.setInspectNo(vo.getInspectNo());//商检单号
			dto.setEnginenum(vo.getEnginenum());//发动机号
			dto.setVinnum(vo.getVinnum());//车驾号/VIN码
			dto.setPricetax(vo.getPricetax());//合计金额（税价合计）
			dto.setSaler(vo.getSaler());//销方名称（销货单位名称）
			dto.setSalesPhone(vo.getSalesPhone());//销方电话
			dto.setTaxpayer(vo.getTaxpayer());//销方税号
			dto.setSalesAccount(vo.getSalesAccount());//销方开户账号
			dto.setSalesBank(vo.getSalesBank());//销方开户银行
			dto.setSalesAddr(vo.getSalesAddr());//销方地址
			dto.setSalesAddrPhone(vo.getSalesAddrPhone());//销方地址/电话
			dto.setTaxrate(vo.getTaxrate());//税率
			dto.setTax(vo.getTax());//税额
			dto.setTaxOffice(vo.getTaxOffice());//主管税务机关名称
			dto.setTaxOfficeCode(vo.getTaxOfficeCode());//主管税务机关代码
			dto.setNoTax(vo.getNoTax());//不含税单价
			dto.setPayTaxCode(vo.getPayTaxCode());//完税凭证号码
			dto.setTonnage(vo.getTonnage());//吨位
			dto.setMaxPassenger(vo.getMaxPassenger());//限乘人数
			dto.setIssued(vo.getIssued());//开票人
			dto.setMachinecode(vo.getMachinecode());//机器编号
			dto.setInvoiceType(vo.getInvoiceType());//发票类型 数据字典(PRJ0130)
			dto.setCheckCode(vo.getCheckCode());//发票校验码后6位
			dto.setUntax(vo.getUntax());// 发票未税金额
			dto.setInvoiceTotal(vo.getInvoiceTotal());//发票车价合计 
			dto.setFlag(vo.getFlag());//主票与补票标示 1主票 2补票
			dto.setAudStsCd(vo.getAudStsCd());//审核状态
			dto.setpInstId(vo.getpInstId());//流程实例ID
			dto.setpNo(vo.getpNo());//流程编号
			dto.setIsDel(vo.getIsDel());//是否删除
			
			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
			//list分页列表需要
			dto.setPrjId(vo.getPrjId());
			dto.setLsCntNo(vo.getLsCntNo());
			dto.setPrjTypCd(vo.getPrjTypCd());
			dto.setBizTypCd(vo.getBizTypCd());
			dto.setCstNm(vo.getCstNm());
			dto.setPrdNm(vo.getPrdNm());
			dto.setAudStsCdNm(vo.getAudStsCdNm());
			dto.setPrjTypCdNm(vo.getPrjTypCdNm());
			dto.setBizTypCdNm(vo.getBizTypCdNm());
			dto.setFlagNm(vo.getFlagNm());
			dto.setDtlId(vo.getDtlId());
			//信审list分页需要
			dto.setPurchaserck(vo.getPurchaserck());//购方名称校验
			dto.setEnginenumck(vo.getEnginenumck());//发动机号校验
			dto.setVinnumck(vo.getVinnumck());//VIN码校验
			dto.setTotLsItmAmt(vo.getTotLsItmAmt());//设备金额
			dto.setFileId(vo.getFileId());//上传发票照片文件id
		}
		return dto;
	}
	
	/**
	 * DTO集合 转 VO集合
	 * @param list<PrjPrdInvoiceDTO>
	 * @return List<PrjPrdInvoiceVO>
	 */
	public static List<PrjPrdInvoiceVO> toVOList(List<PrjPrdInvoiceDTO> list) {
		List<PrjPrdInvoiceVO>  voList = new ArrayList<PrjPrdInvoiceVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (PrjPrdInvoiceDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
	
	/**
	 * VO集合 转 DTO集合
	 * @param list List<PrjPrdInvoiceVO>
	 * @return List<PrjPrdInvoiceDTO>
	 */
	public static List<PrjPrdInvoiceDTO> toDTOList(List<PrjPrdInvoiceVO> list) {
		List<PrjPrdInvoiceDTO>  dtoList = new ArrayList<PrjPrdInvoiceDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (PrjPrdInvoiceVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}

